using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("CollectionPageManagerTouchBehavior")]
	public class CollectionPageManagerTouchBehavior : PegUICustomBehavior
	{
		public enum SwipeState
		{
			None,
			Update,
			Success
		}

		public float TurnDist => method_2<float>("TurnDist");

		public PegUIElement pageLeftRegion => method_3<PegUIElement>("pageLeftRegion");

		public PegUIElement pageRightRegion => method_3<PegUIElement>("pageRightRegion");

		public PegUIElement pageDragRegion => method_3<PegUIElement>("pageDragRegion");

		public SwipeState swipeState => method_2<SwipeState>("swipeState");

		public Vector2 m_swipeStartPosition => method_2<Vector2>("m_swipeStartPosition");

		public CollectionPageManagerTouchBehavior(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CollectionPageManagerTouchBehavior(IntPtr address)
			: this(address, "CollectionPageManagerTouchBehavior")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public new void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public new bool UpdateUI()
		{
			return method_11<bool>("UpdateUI", Array.Empty<object>());
		}

		public void OnPageDraggableRegionDown(UIEvent e)
		{
			method_8("OnPageDraggableRegionDown", e);
		}

		public void TryStartPageTurnGesture()
		{
			method_8("TryStartPageTurnGesture");
		}

		public Vector2 GetTouchPosition()
		{
			return method_11<Vector2>("GetTouchPosition", Array.Empty<object>());
		}

		public PegUIElement HitTestPageTurnRegions()
		{
			return method_14<PegUIElement>("HitTestPageTurnRegions", Array.Empty<object>());
		}
	}
}
